<?php
/**
 * Classe controladora de ofertas
 * @author Emanuel Melo
 */
class ofertas extends SiteAbstrato {
	
	protected $dados, $mOferta;
	
	function __construct() {
		parent::__construct(array(new PC4_Filtro_AutenticadoSimples('estudantes_view', 'login')));
		$this->mOferta = new PC4_Crud_Abstrato('ofertas');
		$this->db->select(
			'o.slug,
			o.id as id_ofertas,
			o.nome as nome_oferta,
			o.horas,
			o.turno,
			o.vagas,
			o.remuneracao,
			o.endereco,
			o.telefone_contato,
			o.pessoa_contato,
			o.atividades,
			u.id,
			u.nome as nome_empresa,
			es.nome_representante,
			es.email_supervisor'
		);
		$this->db->join('ofertas_rel_competencias orc', 'orc.id_ofertas = o.id', 'inner');
		$this->db->join('empresas es', 'es.id = o.id_empresas', 'inner');
		$this->db->join('usuarios u', 'u.id = es.id_usuarios', 'inner');
		$this->db->group_by('o.id');
	}
	
	function index() {
		$this->load->view('site/ofertas_view', $this->dados);
	}
	
	function busca($pagina = 1, $limite = 20) {
		$busca = trim($_POST['busca']);
		if (!empty($busca)) {
			$this->db->where(array('orc.id_competencias IN ' => '(SELECT erc.id_competencias FROM estudantes_rel_competencias erc INNER JOIN estudantes e ON   e.id = erc.id_estudantes WHERE e.id_usuarios = ' . $this->usuario['id_usuarios'] . ')'), null, false);
			$rs = $this->mOferta->consulta(array('vagas >=' => 0, 'o.nome LIKE' => '%' . $busca . '%'));
			$this->dados['rs'] = $rs;
			$this->dados['stringBusca'] = $busca;
			$mLog = new PC4_Crud_Abstrato('logs_empresas');
			$mEmail = new PC4_Util_Email();
			// Pegando os dados do estudante e empresa, inserindo nos logs de estatisticas e enviando por e-mail para o representante legal
			foreach ($rs as $r) {
				$campos = array(
					'id_ofertas' => $r->id_ofertas,
					'id_estudantes' => $this->usuario['id'],
					'data' => date('Y-m-d')
				);
				$mLog->insere($campos);
				$mEmail->sendMail('Sua empresa foi procurada no Click Trainee', 'Olá, ' . $r->nome_representante . '! <br /><br /> A oferta de estágio <strong>' . $r->nome_oferta . '</strong> apareceu na pesquisa de um estudante no sistema Click Traine!', $r->email_supervisor, 'clicktrainee@clicktrainee.com.br', 'Click Trainee');
			}
		}
		$this->index();
	}
	
	function detalhes($slug) {
		$this->db->join('competencias c', 'c.id = orc.id_competencias', 'inner');
		$this->db->select("GROUP_CONCAT(c.nome SEPARATOR ', ') AS competencias", false);
		$rOferta = $this->mOferta->ve($slug, 'slug');
		$dados = array(
			'r' => $rOferta
		);
		#d($rOferta);
		$this->load->view('site/oferta_detalhes_view', $dados);
	}
	
}